This invention is in the area of electronic information transmission, and provides a time-sensitive document submission system in which the submitter receives immediate verification whether the submission has been made in time.
As the Internet becomes a more reliable and accepted transmission medium, it can be used for all types of information interchange.
For example, U.S. Pat. No. 5,694,546xe2x80x94Reisman describes a system for mass distribution by electronic transmission of information, such as periodicals. Using a current manifest, the server automates transmission of current issues and updates of the periodical information, and verifies with the customer that the transmission has been received in its entirety. Updating the customer""s records can be totally automatic, or, as discussed in a preferred embodiment example in the patent, the customer""s system clock can be monitored, and the customer alerted to the arrival of an update release date so that the customer can confirm that the system should seek and fetch the scheduled update, if available.
Another use of electronic transmission is for filing information to meet time deadlines. It is this use to which the present invention is directed.
An example of time-sensitive filing is commercial tenders. An invitation to tender electronically is usually not different from more traditional formats; a non-extendible submission deadline is set for receipt of sealed bids, and only those tenders filed by the deadline are considered.
Other examples of time-sensitive information submissions include:
applications for enrollment,
submission of educational assignments and examinations,
comments in response to requests for proposals, and
purchase orders that must be received before expiry of a fiscal period.
By using electronic transmission to send information that is time-sensitive (as well as non-time sensitive information), the user is able to transmit, with certainty, the required information over a great distance in a short time, usually not exceeding a few hours. Compression technology permits lengthy documents to be sent. Encryption technology provides security where the information transmitted electronically is commercially sensitive or confidential.
Where the filing of a submission must meet a time limit or deadline, the receiving server cannot rely on the submitter""s clock for controlling the submission gate because it is impossible to ensure the accuracy of the sender""s clock, and, in a competitive situation, it is impossible to synchronize the clocks of all senders to ensure fairness.
However, the submitter usually wants to know as soon as possible whether a submission has met the time limit and been accepted for filing. There are a number of alternate techniques, known in the art, to try to return this type of information to the sender.
One technique is to enable the submitting application to try to check the date on-the-fly, while the submitter is still connected. However, this can be an expensive solution, particularly if database access is involved.
Another solution is to have the receiving processor check the submission at xe2x80x9csubmission timexe2x80x9d to determine whether the document is on time, and to return a message to the submitter as soon as the check is complete. Implementing this solution requires that the processor receiving submissions filed to meet a deadline, have an active agent to respond to each submission at the time that document arrives. It is difficult to implement this technique universally because:
1. Some environments do not readily provide an active agent to immediately process documents on arrival; and
2. Some servers may not have the processing capability required for the actions of active agents, particularly where an invitation to tender is available to a wide constituency. As the deadline drew near, the volume of documents arriving could be huge. A scheme that requires active processing and checking of the arriving documents around that time would require corresponding xe2x80x9chugexe2x80x9d performance from the processor. If the processor was able to process and respond on only some submissions, then the system would be unfair to submitters of those submissions that were missed by the processor.
If, in the above scheme, the receiving processor merely received and time stamped all documents for later checking for compliance with the deadline, the processing performance problem would be addressed, but no immediate feedback (deadline verification) would be provided to the submitter.
Another technique is to disable the receiving mechanism when the deadline arrives. However, this is extremely complex to implement because at the deadline time, there could be a huge backlog of files at different states and at different queues inside the system; some files being received, some awaiting xe2x80x9cconnection openxe2x80x9d, etc. The system may not have a clean way of allowing the receiving application to chop off a queue. If disabling the receiving mechanism must wait until all queues are clear, the waiting time could be very unpredictable as files kept coming in to re-fill the queues. The deadline would lose its definition, and would not be the same for all submissions.
Another alternative is to require a positive two-way handshake process between sender and receiver before the submitting program begins to file the submission, such as described in the above-referenced U.S. Pat. No. 5,694,546. As described in the patent, the protocol used for the handshaking is relatively complex; it identifies the customer""s transporter client system to the remote server (that will issue the periodical information) by product ID and user ID, and a password or other authentication code for the transporter log file. This technique also requires an active agent on the receiver side, so that the performance problems discussed above associated with active agents at deadline time could result in added problems if processor performance prevented establishing the handshake, so that the submitting program could not make the submission at all.
Previously filed Canadian Patent Application No. 2,228,331, titled xe2x80x9cA Token-Based Deadline Enforcement System for Electronic Document Submissionxe2x80x9d, now U.S. Pat. No. 6,182,124, which is commonly assigned, provides a type of solution that does not depend on active agents, such as discussed above. Instead, a submission requirements centre collects information on submission requirements (eg., deadlines for submitting bids in response to commercial tenders), from the processing environments that generate the requirements. A gateway to a network of potential submitters polls the information collected in the submission requirements centre, and generates tokens corresponding to current submission time limits. These tokens are available to all potential submitters until expiry of the corresponding time limit for the submission. On receiving a request for electronic submission from a submitting program, the gateway searches its records for the token corresponding to the submission type. If the token is located, it is returned to the submitting program for packaging with the submission. If the token is not located, an electronic message, such as an error flag, is returned to the submitting program, and the submitter knows immediately that the submission did not meet the deadline. When a submission packaged with a valid token is received at the gateway, it can be routed directly to the processing environment that generated the submission requirement. The valid token provides an on-time validity check; the receiving processing environment does not have to check the submission as it arrives to ensure that it has been filed on tire, but can delay processing to a convenient time, to verify compliance with substantive requirements for filing the submission. Thus, no processing is required for the documents when they arrive, yet the system provides the submitter with immediate feedback whether the submission has been accepted for filing within the deadline. The possible performance problems in trying to process xe2x80x9ctime of filingxe2x80x9d for a large number of submissions filed virtually simultaneously as the submission deadline draws near, are avoided, and the submitter is saved network access costs in waiting for a verification of filing to be returned.
The present invention addresses the prior art issues (alleviating electronic transmission delays that could cause a submission to miss a deadline, and providing a submitter with rapid feedback whether a submission has been accepted for filing or not) in a different way.
The present invention provides a scheme to allow a submitter to xe2x80x9ccommit and lock-inxe2x80x9d a submission completed before expiry of a deadline, in a very efficient manner.
The present invention provides many of the same advantages as those discussed in relation to the invention of our earlier filed token-based submission system. However, the present invention is particularly useful in the case of large electronic submission documents, that could be subject to delay in transmission, although it is clearly also useful for submitting smaller submissions as well. As long as the submitter is able to submit, before expiry of the submission deadline, a small token or digest, as discussed in detail below, the system guarantees that the full submission will eventually be accepted, and that the eventual full submission is identical to the submission from which evidence was presented.
Therefore, the present invention provides a method for enforcing time limits in a gateway server in an electronic filing system in which an electronic message containing evidence of submission completion, such as a message digest, is received from a submitting program. A write-enabled directory for storing the evidence is identified, and the evidence is stored in it. If no directory is identified, a first submission rejection indication is returned to the submitting program. On receipt of the complete submission, the complete submission is matched with the evidence filed in the directory, preferably by computing a message digest of the complete submission and comparing it to the evidence on file. If the complete submission does not match, a second submission rejection indication is returned to the submitting program. Preferably, write access to the directory is removed once the submission time limit expires.
The invention also provides a gateway mechanism for enforcing time limits for filing electronic submissions in a network. The mechanism enables a server in the gateway mechanism to receive information related to a submission time limit from a submission processing environment and generate a storage directory in the server""s file system with write access for all potential submitters within the submission time limit. The mechanism is enabled to
(i) receive an electronic message containing evidence of submission completion from a submitter,
(ii) verify write access to the storage directory, and
(iii) if the write access is verified, write the evidence to the storage directory, or else return an error indication to the submitter.
The mechanism is also enabled to remove the write access to the storage directory on expiry of the submission time limit, and match a complete submission received from the submitter with the evidence written to the storage directory, or else return an error indication to the submitter. Preferably, the mechanism""s means to match a complete submission with the evidence written to the storage directory include decrypting the evidence (if received in encrypted form) and verifying the submitter""s digital signature, and transforming the complete submission to the same format as the evidence (for example, message digest), to compare that the transformed versions are identical.
The invention also provides a computer program product comprising a computer usable medium having computer readable program code means embodied therein for enforcing time limits in an electronic filing system.